﻿using System.Web.Mvc;
using Storytelling.Entidades.VTR;
using Storytelling.Modelos.VTR;
using Storytelling.Negocio;
using Storytelling.Utils;

namespace Storytelling.Controllers
{
    public class DevocaoController : BaseCrudController<Devocao, DevocaoFormModel>
    {
        protected override IServico<Devocao, DevocaoFormModel> Servico
        {
            get { return Servicos.Devocao; }
        }

        protected override void EscolherCarregamento(Carga<Devocao> carga, TipoCarregamento tipo)
        {
            carga.Carregar(ent => ent.PreRequisitos).Carregar(ent => ent.Disciplina);
        }

        [AutorizarEditor]
        public override ActionResult Form(long? id)
        {
            return base.Form(id);
        }

        [AutorizarEditor]
        public override ActionResult Form(DevocaoFormModel model)
        {
            return base.Form(model);
        }

        [AutorizarEditor]
        public override ActionResult Excluir(long? id)
        {
            return base.Excluir(id);
        }

        [Authorize]
        public JsonResult CustoExperiencia(long? id)
        {
            int custo = 0;

            if (id.HasValue)
            {
                custo = Servico.Consultar(id.Value).Custo;
            }

            return Json(custo);
        }
    }
}
